﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using CROSLAND.BL.BE;
using CROSLAND.DL.DALCF;

namespace CROSLAND.BL.BC
{
    public class ImpresionBC
    {
        #region Singleton
        //private ImpresionBC() { }
        //private static ImpresionBC _instance = null;
        //public static ImpresionBC Instance
        //{
        //    get { return (_instance == null) ? _instance = new ImpresionBC() : _instance; }
        //}
        #endregion

        public List<OfertaSimpleBE> obtenerReporteOfertaSimple(string pOferta)
        {
            List<OfertaSimpleBE> lstT = new List<OfertaSimpleBE>();
            lstT = DaoFactory.ImpresionDALC.obtenerReporteOfertaSimple(pOferta);

            return lstT;
        }

        public List<OfertaTecnicaBE> obtenerReporteOfertaTecnica(string pOferta)
        {
            List<OfertaTecnicaBE> lstT = new List<OfertaTecnicaBE>();
            lstT = DaoFactory.ImpresionDALC.obtenerReporteOfertaTecnica(pOferta);
            return lstT;
        }

        public List<TicketBE> obtenerImpresionTicket(string pNroPedido, string pDocumento)
        {
            List<TicketBE> lstT = new List<TicketBE>();
            lstT = DaoFactory.ImpresionDALC.obtenerImpresionTicket(pNroPedido, pDocumento);

            return lstT;
        }

        public List<CotizacionBE> obtenerReporteCotizacion(string pNroCotizacion)
        {
            List<CotizacionBE> lstT = new List<CotizacionBE>();
            lstT = DaoFactory.ImpresionDALC.obtenerReporteCotizacion(pNroCotizacion);

            return lstT;
        }

        public List<AnticipoBE> obtenerImpresionAnticipo(string pNroFactura, string folio)
        {
            List<AnticipoBE> lstT = new List<AnticipoBE>();
            lstT = DaoFactory.ImpresionDALC.obtenerImpresionAnticipo(pNroFactura, folio);
            
            return lstT;
        }

        public List<DetalleVentaBE> obtenerImpresionDetalleVenta(string p_sociedad, string p_caja, DateTime p_fecha, 
            string p_oficina, string p_usuario)
        {
            List<DetalleVentaBE> list = new List<DetalleVentaBE>();
            List<ResumenVentaBE> list1 = new List<ResumenVentaBE>();

            DaoFactory.CierreDALC.Get_RepCierre(p_sociedad, p_caja, p_fecha, p_oficina, p_usuario,  out list1, out list);

            return list;
        }

        public List<ResumenVentaBE> obtenerImpresionResumenVenta(string p_sociedad, string p_caja, DateTime p_fecha, string p_oficina, string p_usuario)
        {
            List<DetalleVentaBE> list = new List<DetalleVentaBE>();
            List<ResumenVentaBE> list1 = new List<ResumenVentaBE>();

            DaoFactory.CierreDALC.Get_RepCierre(p_sociedad, p_caja, p_fecha, p_oficina, p_usuario, out list1, out list);

            return list1;
        }
    }
}
